package br.com.speedprevweb.bean;

import br.com.speedprevweb.dao.StatusRequerimentoDao;
import br.com.speedprevweb.dao.impl.StatusRequerimentoDaoImpl;
import br.com.speedprevweb.model.StatusRequerimento;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "statusRequerimentoBean")
@SessionScoped
public class StatusRequerimentoBean {
  
  private StatusRequerimento statusRequerimento = new StatusRequerimento();
  private List<StatusRequerimento> statusRequerimentos = new ArrayList();

  public StatusRequerimentoBean() {
    statusRequerimentos = new StatusRequerimentoDaoImpl().listarTodos();
    statusRequerimento = new StatusRequerimento();
  }

  public StatusRequerimento getStatusRequerimento() {
    return statusRequerimento;
  }

  public void setStatusRequerimento(StatusRequerimento statusRequerimento) {
    this.statusRequerimento = statusRequerimento;
  }
  
  public List<StatusRequerimento> getStatusRequerimentos() {
    return statusRequerimentos;
  }
  
  public void setStatusRequerimentos(List<StatusRequerimento> statusRequerimentos) {
    this.statusRequerimentos = statusRequerimentos;
  }

  public String descricaoStatusRequerimento() {
    return this.statusRequerimento.getDsStatusRequerimento();
  }

  public String incluirStatusRequerimento() {
    statusRequerimento = new StatusRequerimento();
    return "StatusRequerimentoDetalhe";
  }

  public String preparaAlterarStatusRequerimento() {
    return "StatusRequerimentoDetalhe";
  }

  public String excluirStatusRequerimento() {
    StatusRequerimentoDao stRequerimentoDao = new StatusRequerimentoDaoImpl();
    stRequerimentoDao.excluir(statusRequerimento);
    statusRequerimentos = new StatusRequerimentoDaoImpl().listarTodos();
    statusRequerimento = new StatusRequerimento();
    return "StatusRequerimento";
  }

  public String salvar() {
    if (statusRequerimento.getIdStatusRequerimento() == 0) {
      incluir();
    } else {
      alterar();
    }
    return "StatusRequerimento";
  }

  public void incluir() {
    StatusRequerimentoDao stRequerimentoDao = new StatusRequerimentoDaoImpl();
    stRequerimentoDao.salvar(this.statusRequerimento);
    statusRequerimentos = new StatusRequerimentoDaoImpl().listarTodos();
    statusRequerimento = new StatusRequerimento();
  }

  public void alterar() {
    StatusRequerimentoDao stRequerimentoDao = new StatusRequerimentoDaoImpl();
    stRequerimentoDao.alterar(statusRequerimento);
  }

  public String cancelar() {
    return "StatusRequerimento";
  }

  private void atualizarDataTable() {
    statusRequerimentos = new StatusRequerimentoDaoImpl().listarTodos();
    statusRequerimento = new StatusRequerimento();
  }

  public int totalRegistros() {
    return statusRequerimentos.size();
  }
}